home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Deutsche Edition 1
/
Deutsche Edition 1.iso
/
amok
/
amok_lha
/
amok32.lha
/
ModList1.3
/
ModList.doc
< prev
next >
Wrap
Text File
|
1993-08-15
|
5KB
|
120 lines
--------------------------------- ModList ------------------------------------
Dieses Programm dient dazu Modula-2 Quelltexte auszudrucken. Was ist daran so
besonders?
Nun, alle Modula-Schlüsselwörter werden im Fettdruck ausgegeben, alle Kommen-
tare werden kursiv gestellt, jede Zeile erhält eine Nummer und 'last not least'
gibt's noch 'ne seitenweise Formatierung.
Das alles dient dazu, hinterher bestimmte Textstellen leichter auffinden zu
können und die Lesbarkeit des Listings durch die markierten Kommentare und
M2-Schlüsselwörter zu steigern.
Ausgedacht hat sich das ganze die Redaktion der Zeitschrift:
CHIP-TOOL-Praxis/Modula-Sonderheft
(Gruß an den Programmierer, wirklich mal ein nützliches Programm)
Ich hab eigentlich nichts anderes gemacht als das Listing ( das auf einem
MS-DOS M2-Compiler erstellt wurde ) abzutippen, und es an den Stellen, an denen
es erforderlich war, auf die Besonderheiten des Amiga und des M2-Amiga-
Compilers umzustellen.
Viel Spass mit dem Programm, Andreas
P.S.:
Ich hoffe, daß ich durch die Umsetzung des Programms auf den Amiga nicht gegen
irgend welche Copyrights verstosse.
ModList Version 1.2
-------------------
Mich (Bene) hat die Verbesserungswut gepackt. Ich hoffe, daß ich das
Programm nicht nur unnötig verkompliziert, sondern auch etwas
bedienungsfreundlicher gemacht habe.
Hier die Änderungen:
* Die Ein/Ausgaben laufen jetzt nicht mehr über OpenInput/OpenOutpt von
InOut sondern über das FileSystem. Der Grund dafür ist, das das Modul
InOut praktisch keine Fehler abfängt und nicht auf das Dateiende achtet
("done" wird nicht richtig gesetzt). Deshalb hat die alte Version nicht
korrekt aufgehört, als die Eingabedatei zu Ende war oder wenn man den
Drucker auf OffLine gestellt hat. Der Fehler ist jetzt behoben.
* Jetzt mal eine Moralpredigt an alle Druckerprogrammierer:
as glaubt ihr eigentlich, wozu die Preferences und die ganzen Drucker-
treiber da sind? Bestimmt nicht deswegen, damit dann jeder sein Programm
trotzdem eigenbrödlerisch schreibt und nur seinen eigenen Drucker ansteuert.
Preferences mit seinen Druckertreibern ist dazu da, damit Druckprogramme,
die keine besonderen Fähigkeiten verlangen, sondern nur Dinge benötigen,
die eigentlich jeder Drucker kann (Fettschrift, Unterstreichen usw) ohne
Anpassung auf allen Konfigurationen laufen.
Es gibt deshalb genormte Steuerzeichen (Esc-Sequenzen), die im "Rom Kernel
Reference Manual Libraries and Devices" von Addison Wessley im Kapitel
"Printer device" auf Seite 420 beschrieben werden. Diese Standardsequenzen
werden vom printer-device (prt:) automatisch in die Steuerzeichen des mit
Preferences eingestellten Druckers übersetzt.
Ich habe deshalb anstatt der spezifischen Steuerzeichen die Standard-
Esc-Sequencen implementiert. Das ganze funktioniert bei mir und Fridtjof
einwandfrei und ohne Programmänderungen, obwohl wir verschiedene Drucker
haben.
* Da ich öfters auch auf Einzelblatt drucke, habe ich eine Abfrage eingebaut,
die prüft, ob bei Preferences "Single Sheet" eingestellt ist und wenn ja,
dann bei jeder Seite wartet, bis man ein Blatt eingelegt hat. (leider ist
im Modul "Intuition.def" der Compilerversion V3.2d ein Fehler, weshalb dies
nur mit der Korrigierten Version (liegt bei) funktioniert.)
* Bei langen Pfadnamen ist es lästig, den Namen der Quelldatei anzugeben,
deshalb habe ich das Programm so erweitert, daß der Workbench-Argument-
Mechanismus funktioniert. Man braucht jetzt nur noch das Icon des Texts
anzuklicken, den man drucken möchte und danach ModList doppelklicken.
Startet man ModList "pur" kann man natürlich den Namen auch von Hand
eingeben.
* Das automatische Anhängen von "mod" habe ich ausgebaut, weil es sonst
unmöglich ist, ein Definitionsmodul (.def) auszudrucken.
Viel Spaß
Bene
ModList Version 1.3
-------------------
Auch mich (A.Lüdtke) hat die Verbesserungswut gepackt. Mich hat es z.B.
gestört, daß mein Drucker bei Tabs und anderen Steuerzeichen den Ausdruck
auf "seine Art" dargestellt hat.
- Jetzt werden Steuerzeichen durch "^" + Buchstaben dargestellt und die Tabs
werden durch 1 bis 8 Spaces ersetzt. Weiterhin wird bei einem Formfeed im
Text eine neue Seite begonnen. Bei einem Formfeed im Kommentar oder String
erscheint dagegen ein "^L" im Ausdruck.
- Ich finde es auch besser, daß jetzt auf jeder Seite Dateiname, Datum und
Uhrzeit steht.
- Als letzte Verbesserung habe ich das Auslesen der Paperlength und des Spacing
eingebaut. Hierdurch kann über Preferences die Seitenlänge des Ausdrucks
bestimmt werden. Möchte man mit 8 LPI statt 6 LPI drucken, so braucht die
Paperlength nicht umgerechnet werden, da das Programm dies macht.
- Als allerletztes habe ich im Programm ein paar kosmetische Korrekturen
angebracht (z.B. kann von der Workbench nur noch auf dem Drucker ausgegeben
werden). Ich hoffe das mir das verziehen wird.
Ebenfalls viel Spaß
Andreas
PS.: Findet Ihr nicht auch das der Name --> M2P <-- besser paßt ?